package com.atguigu.gulimall.member;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
 * ctrl+shift+/是生成这种块注释
 * ctrl+/是生成//这样的注释
 *
 * 想要远程调用别的服务，例如这里的member服务调用coupon服务，需要的步骤
 * 1、在pom文件里面引入open-feign的依赖，这就有远程调用的能力
 * 2、因为引入open-feign是一个声明式的HTTP客户端，因此编写一个接口，告诉SpringCloud这个接口需要调用远程服务
 * 3、以后我们将所有的远程接口都放在feign包下面。
 * 4、在这个包下的接口的上面写上@FeignClient("gulimall-coupon")，这就是告诉SpringCloud，这里写的
 *    这个接口是一个远程客户端，要调用哪个远程服务
 * 5、然后在这个接口里面写上想调用的coupon服务里面的那些方法，例如在里面写上：
 *        @RequestMapping("coupon/coupon/member/list")//这个会员的所有优惠券信息
 *        //在这里的路径要写全
              public R membercoupons();
      总而言之，声明接口的每一个方法都是调用哪个远程服务的哪个请求
   6、开启远程调用功能,使用注解@EnableFeignClients,这个注解里面有一个basePackages，需要用它指明
   所写的那些远程调用接口在哪里
* */

@EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")//开启远程调用功能
@EnableDiscoveryClient//此注解是用来开启服务注册与发现功能
@SpringBootApplication//开启springboot
public class GulimallMemberApplication {

	public static void main(String[] args) {
		SpringApplication.run(GulimallMemberApplication.class, args);
	}

}
